package com.yserp.api.erpapi;

import java.util.List;

import javax.security.auth.Subject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.yserp.api.baseapi.BSystemUserBean;
import com.yserp.api.baseapi.BUserLoginBean;
import com.yserp.api.baseapi.erpController;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;


import cn.basecode.server.common.constants.ConstCode;
import cn.basecode.server.common.constants.ResCode;
import cn.basecode.server.common.propertie.SystemConf;
import cn.basecode.server.common.shiro.token.DefaultUsernamepasswordToken;
import cn.basecode.server.common.vo.ResultDO;


/**
 * @author: sumj
 * @date: 2014年12月12日 下午3:14:17
 */
//@Controller
//@RequestMapping(value = "/client")
public class ClientLoginApi extends erpController {

//
//
//    @RequestMapping(value = "/loginOut", method = RequestMethod.GET)
//    public String loginOut(HttpServletRequest request, HttpServletResponse response) {
////        BSystemUserBean user = (BSystemUserBean) request.getSession().getAttribute("currentUser");
////        if (user != null) {
////            String loginId = getCurrentLoginUser().getLoginLogId();
////            logAddService.updateLoginOutTime(loginId);
////        }
////        Subject subject = SecurityUtils.getSubject();
////        if (subject != null)
////            subject.logout();
////        request.getSession().removeAttribute("currentUser");
//        return "component/login";
//    }
//
//    /**
//     * <p>
//     * 登录请求.
//     * </p>
//     */
//    @RequestMapping(value = "/user/login", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> loginMethod(BUserLoginBean user, HttpServletRequest request, HttpServletResponse response,
//                                    HttpSession session) {
//        try {
//            ResultDO<BSystemUserBean> tUser = sysUserService.getUserInfoByLoginId(user.getJ_username());
////            if (tUser.isOK()) {
////
////                Subject subject = SecurityUtils.getSubject();
////                if (subject != null)
////                    subject.logout();
////                request.getSession().setAttribute("adminkey", request.getParameter("adminkey"));
////                SecurityUtils.getSubject().login(
////                        new DefaultUsernamepasswordToken(String.valueOf(user.getJ_username()), user.getJ_password(),
////                                "SYSTEM_MANAGER"));
////
////                BSystemUserBean curuser = getCurrentLoginUser();
////                TLogLoginBean bean = new TLogLoginBean();
////                bean.setLoginName(getCurrentLoginName());
////                bean.setUserId(curuser.getUserId());
////                bean.setUserName(curuser.getUserName());
////                bean.setSystemId(SystemConf.getInstance().getSystemId());
////                bean.setUserType(Short.parseShort(ConstCode.LOG_USER_TYPE_YYS.getKey()));
////                bean.setSystemName(SystemConf.getInstance().getSystemName());
////                bean.setLoginIp(getIp(request));
////                bean.setUserOrgId(getCurrentLoginUser().getUserDeptId());
////                bean.setUserOrgName(getCurrentLoginUser().getUserDeptName());
////                bean.setLoginDev(getLoginDev(request));
////                bean.setLoginType(2);
////                logAddService.insertLoginLog(bean);
//
//                return tUser;
//            } else {
//                return toErrorResult(tUser);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "用户名或者密码错误");
//        }
//        // return toSuccessResult();
//    }
//
//    /**
//     * <p>
//     * 注册请求.
//     * </p>
//     */
//    @RequestMapping(value = "/user/register", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> register(UserRegisterBean user, HttpServletRequest request, HttpServletResponse response,
//            HttpSession session) {
//        try {
//            ResultDO<BSystemUserBean> tUser = sysUserService.getUserInfoByLoginId(user.getContactPhone());
//            if (tUser.isOK()) {
//                return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "该手机号已被注册!");
//            } else {
//                // 如果查不到数据的话，则进行用户注册
//                if (null == tUser.getObj()) {
//                    ResultDO<BSysUserAddBean> rdo = userRegisterService.registerUser(user);
//                    if (rdo.isOK()) {
//                        return rdo;
//                    }
//                }
//                return null;
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "用户名或者密码错误");
//        }
//        // return toSuccessResult();
//    }
//
//    /**
//     * <p>
//     * 注册审核人员.
//     * </p>
//     */
//    @RequestMapping(value = "/user/registerAudit", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> registerAudit(UserRegisterBean user, HttpServletRequest request, HttpServletResponse response,
//            HttpSession session) {
//        try {
//            // 如果查不到数据的话，则进行用户注册
//            ResultDO<BSysUserAddBean> rdo = userRegisterService.registerUser(user);
//            if (rdo.isOK()) {
//                return rdo;
//            }
//            return null;
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "用户名或者密码错误");
//        }
//        // return toSuccessResult();
//    }
//
//    /**
//     *
//     * @Title: getAuditAndAccetp
//     * @Description (获取验收和审核人员)
//     * @param user
//     * @return
//     */
//    @RequestMapping(value = "/user/getAuditAndAccetp", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> getAuditAndAccetp(String orgId) {
//        try {
//            // 如果查不到数据的话，则进行用户注册
//            ResultDO<List<OrgUserBean>> rdo = manageGoodsService.getAuditAndAccetp(orgId);
//            if (rdo.isOK()) {
//                return rdo;
//            }
//            return null;
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "获取验收和审核人员失败");
//        }
//        // return toSuccessResult();
//    }
//
//    /**
//     * <p>
//     * 登录请求.
//     * </p>
//     */
//    @RequestMapping(value = "/user/cardlogin", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> cardLoginMethod(ApproveDataBean user, HttpServletRequest request) {
//        try {
//
//            ResultDO<BSystemUserBean> tUser = manageGoodsService.cardLoginMethod(user);
//            if (tUser.isOK()) {
//                BSystemUserBean curuser = tUser.getObj();
//                TLogLoginBean bean = new TLogLoginBean();
//                bean.setLoginName(curuser.getLoginName());
//                bean.setUserId(curuser.getUserId());
//                bean.setUserName(curuser.getUserName());
//                bean.setSystemId("31");
//                bean.setUserType((short)1);
//                bean.setSystemName("验收终端系统");
//                bean.setLoginIp(getIp(request));
//                bean.setUserOrgId(curuser.getOrgId());
//                bean.setUserOrgName(curuser.getUserOrgName());
//                bean.setLoginType(2);
//                logAddService.insertLoginLog(bean);
//                return tUser;
//            } else {
//                return toErrorResult(tUser);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "卡号不存在！");
//        }
//        // return toSuccessResult();
//    }
//
//    /**
//     * <p>
//     * 登录请求.
//     * </p>
//     */
//    @RequestMapping(value = "/user/fingerlogin", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> fingerLoginMethod(ApproveDataBean user, HttpServletRequest request) {
//        try {
//
//            ResultDO<BSystemUserBean> tUser = manageGoodsService.fingerLoginMethod(user);
//            if (tUser.isOK()) {
//                BSystemUserBean curuser = tUser.getObj();
//                TLogLoginBean bean = new TLogLoginBean();
//                bean.setLoginName(curuser.getLoginName());
//                bean.setUserId(curuser.getUserId());
//                bean.setUserName(curuser.getUserName());
//                bean.setSystemId("31");
//                bean.setUserType((short)1);
//                bean.setSystemName("验收终端系统");
//                bean.setLoginIp(getIp(request));
//                bean.setUserOrgId(curuser.getOrgId());
//                bean.setUserOrgName(curuser.getUserOrgName());
//                bean.setLoginType(2);
//                logAddService.insertLoginLog(bean);
//                return tUser;
//            } else {
//                return toErrorResult(tUser);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "卡号不存在！");
//        }
//        // return toSuccessResult();
//    }
}
